Programmable current sources have wide application in electronic instruments for selectively providing current to various circuits or circuit components. One of the most common implementations of programmable current sources is to provide a separate current source for each output node, and this is a suitable arrangement as long as board size, power consumption, and actual current delivered are non-critical. However, in situations where high-accuracy, variable current is needed, it is most preferable to provide a single variable current source and steer the output current to the appropriate output node. Prior art implementations of this circuit have included a single field-effect transistor with source degeneration provided by a variable resistor, and multiple electro-magnetic relays in the drain circuit to provide the appropriate current steering. However, this circuit requires a large circuit board space, and consumes considerable power.